home *** CD-ROM | disk | FTP | other *** search
/ Aminet 31 / Aminet 31 (1999)(Schatztruhe)[!][Jun 1999].iso / Opus5.5 / ARexx.lha / ARexx / DirToDest.dopus5 < prev    next >
Text File  |  1996-06-13  |  2KB  |  76 lines

  1. /* DirToDest for Directory Opus 5.5
  2.    by Leo 'Nudel' Davidson for Gods'Gift Utilities
  3.    email: leo.davidson@keble.oxford.ac.uk  www: http://users.ox.ac.uk/~kebl0364
  4.  
  5. $VER: DirToDest.dopus5 1.5 (13.6.96)
  6.  
  7.    NOTE: DOpusFuncs is an assembler version of this (and other) scripts.
  8.  
  9.    The scrips changes the destination lister's path to the first selected
  10.    directory in the source lister. Under Opus 5.5 you can now set up
  11.    "ScanDir" on a Directory Filetype so you don't really need this script
  12.    anymore, apart from as an example of the ARexx port. :)
  13.  
  14. Call as:
  15. ------------------------------------------------------------------------------
  16. ARexx    DOpus5:ARexx/DirToDest.dopus5 {Qp}
  17. ------------------------------------------------------------------------------
  18. Turn off all switches.
  19. */
  20.  
  21. options results
  22. options failat 99
  23. signal on syntax;signal on ioerr        /* Error trapping */
  24. parse arg DOpusPort
  25. DOpusPort = Strip(DOpusPort,"B",'" ')
  26.  
  27. If DOpusPort="" THEN Do
  28.     Say "Not correctly called from Directory Opus 5!"
  29.     Say "Load this ARexx script into an editor for more info."
  30.     EXIT
  31.     END
  32. If ~Show("P",DOpusPort) Then Do
  33.     Say DOpusPort "is not a valid port."
  34.     EXIT
  35.     End
  36. Address value DOpusPort
  37.  
  38. dopus version
  39. If ( result='RESULT' | translate(result,'.',' ') < 5.1218 ) then do
  40.     dopus request '"This script requires DOpus v5.5 or greater." OK'
  41.     EXIT
  42.     end
  43.  
  44. lister query source stem source_handle.
  45.  
  46. IF source_handle.count = 0 Then Do
  47.     dopus request '"You must have a source lister" OK'
  48.     EXIT
  49.     End
  50.  
  51.  
  52. lister query dest stem dest_handle.
  53.  
  54. IF dest_handle.count = 0 Then Do
  55.     dopus request '"You must have a destination lister" OK'
  56.     EXIT
  57.     End
  58.  
  59.  
  60. lister query source_handle.0 path
  61. source_path = RESULT
  62. lister query source_handle.0 seldirs stem source_dir.
  63.  
  64. IF source_dir.count = 0 Then Do
  65.     lister request source_handle.0 '"You must have a directory selected" OK'
  66.     EXIT
  67.     End
  68.  
  69. lister read dest_handle.0 source_path||source_dir.0
  70.  
  71. lister select source_handle.0 source_dir.0 0
  72. lister refresh source_handle.0
  73.  
  74. syntax:;ioerr:                /* In case of error, jump here */
  75. EXIT
  76.